A storage system maintains a logical to physical mapping data structure for mapping logical addresses to physical addresses. The mapping can be done in various manners. For example, the mapping can map logical addresses (LAs) within a volume (e.g., LBA—Logical Block Addresses or any other kind of upper layer addresses known to an application or other accessing entity that accesses the volume) to physical addresses within a storage device (or any other kind of lower layer addresses, e.g. addresses within a lower abstraction layer). An atomic unit of a logical memory space used for data handling and organization within the system can be a data unit identified by a logical address and having a fixed predefined size. Multiple successive logical addresses can form an extent, a logical volume and the like. Storage systems may support a variety of input/output (IO) commands. Some IO commands may refer to one or more data units and some may refer to extents and to logical volumes. An extent usually includes one or more contiguous logical addresses.
Several operations related to changes of extents such as data copying and data deletion can be time consuming, especially when large extents are involved. Such operations may include:                a. Unmap—this operation is performed when data is deleted and its allocated physical space should be freed.        b. Extent copy—this operation is performed when data is to be copied from a source logical address to a target logical address.        
During the processing of these operations, access to the affected address ranges (included in the extent to be deleted or to the target extent to be overwritten by the source extent) should be blocked or postponed until the changes are done. When large amount of data is involved, blocking access to the affected extents addresses can cause significant latency experienced by read requests.